export default {
 
  /**
   * 输入限制
   * @param {String} tyoe 限制类型
   * @param {String} val 当前输入的值
   */
  numberLimit(val, max) {
    if (val == '') return ''
    val = val.replace(/[^\d.]/g, '')
    if (val.indexOf('.') > -1) {
      if (val[0] == '.') {
        return ''
      }
      let firstNum = val.split('.')[0].toString()
      let lastNum = val.split('.')[1].toString()
      if (firstNum.length > max) {
        firstNum = firstNum.substring(0, max)
      }
      if (lastNum.length > 2) {
        lastNum = lastNum.substring(0, 2)
      }
      return firstNum + '.' + lastNum
    } else {
      if (val == 0) {
        val = 0
      } else if (val.substring(0, 1) == 0) {
        val = val.substring(1, val.length)
      }
    }
    val = val.toString()
    if (val.length > max) {
      val = val.substring(0, max)
      return val.replace(/\D/g, '')
    } else {
      return val.replace(/\D/g, '')
    }
  },
  inputLimit(type, val) {
    switch (type) {
      // 英文、数字、符号
      case 'D10001':
        return val.replace(/[^0-9a-zA-Z!@#$%^&*()-=+]/g, '').substring(0, 30) //密码
        break
      // 中文，数字，英文，符号
      case 'D10002':
        return val.substring(0, 30) //车辆型号
        break
      // 数字，英文
      case 'D10003':
        return val.replace(/[^0-9a-zA-Z]/g, '').substring(0, 18) //统一信用代码、身份证
        break
      // 中文、英文、”.“
      case 'D10004':
        return val.replace(/[^a-zA-Z\u4e00-\u9fa5\.]/g, '').substring(0, 30) //姓名
        break
      // 数字整数
      case 'D10005':
        return val.replace(/\D/g, '').substring(0, 11) //手机号
        break
      // 中文、英文、数字
      case 'D10006':
        return val.replace(/[^0-9a-zA-Z\u4e00-\u9fa5]/g, '').substring(0, 20) //部门名称、角色名称、门店、类型名称、合同编号
        break
      // 0-9的整数
      case 'D10007':
        return val.replace(/\D/g, '').substring(0, 5) //门店数、员工数、排序、整数量
        break
      // 数字，默认保留两位小数
      case 'D10008':
        return this.numberLimit(val, 6) //金额、公里数（运营范围）
        break
      // 数字，整数
      case 'D10009':
        return val.replace(/\D/g, '').substring(0, 20) //数值：座机号、数字输入
        break
      // 数字，英文，符号
      case 'D10010':
        return val.replace(/[^0-9a-zA-Z!@#$%^&*()-=+]/g, '').substring(0, 30) //ID、编码、型号
        break
      // 中文、英文、数字
      case 'D10011':
        return val.replace(/[^a-zA-Z0-9\u4e00-\u9fa5]/g, '').substring(0, 50) //地址
        break
      // 中文、英文、数字、符号
      case 'D10012':
        return val.substring(0, 300) //备注、内容、描述
        break
      // 0-9的整数，小数点
      case 'D10013':
        return this.numberLimit(val, 5) //百分比
        break
      // 中文、英文、数字
      case 'D10014':
        return val.replace(/[^a-zA-Z0-9\u4e00-\u9fa5]/g, '').substring(0, 8) //车牌
        break
      // 英文、数字
      case 'D10015':
        return val.replace(/[^0-9a-zA-Z]/g, '').substring(0, 17) //车架号、发动机号
        break
      // 数字整数
      case 'D10016':
        return val.replace(/\D/g, '').substring(0, 6) //用于验证码
        break
      // 年份
      case 'D10017':
        return val.replace(/\D/g, '').substring(0, 4) //年份限制
        break
         // 英文、数字
      case 'D10018':
        return val.replace(/[^0-9a-zA-Z]/g, '').substring(0, 16) //车架号、发动机号
        break
        // 数字，整数   //休假天数
      case 'D10019':
        if(val.replace(/\D/g, '').substring(0, 2) <= 31){  
          return val.replace(/\D/g, '').substring(0, 2)
        }else{
          return 31
        }
        break
      // 中文、英文、数字,长度: 30
      case 'D10030':
        return val.replace(/[^0-9a-zA-Z\u4e00-\u9fa5]/g, '').substring(0, 30) 
        break      
        // 中文、英文、数字、符号-
      case 'D10031':
        return val.replace(/[^0-9a-zA-Z-\u4e00-\u9fa5]/g, '').substring(0, 50) 
        break
      default:
        return val
    }
  },
 
  
}
